<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<%@ include file="../../common/jsp/sheetHeader.jsp" %>
<script>
	$(document).ready(function() {
		//sheet 초기화  
		createIBSheet2(document.getElementById("viewArea"),"mySheet","100%","400px");
		
		
		var cfg = {FrozenCol:0,MergeSheet:msPrevColumnMerge,PrevColumnMergeMode:0};
		mySheet.SetConfig(cfg);
			
		var header = [{Text:"Merge|NO|사업그룹|지역본부명|부점명|직원번호|성명|직위|상태",Align:"Center"}];
		var info = {Sort:1,ColMove:1,ColResize:1,HeaderCheck:0};
		mySheet.InitHeaders(header,info);
		var cols = [      
					{Type:"Text",	Width:130,	SaveName:"merge",	Align:"Center", ColMerge:1},
					{Type:"CheckBox",	Width:35,	SaveName:"chk",			Align:"Center"},
					{Type:"Text",	Width:130,	SaveName:"mgr_org_nm",	Align:"Center", ColMerge:1},
					{Type:"Text",	Width:130,	SaveName:"area_org_nm",	Align:"Center", ColMerge:1},
					{Type:"Text",	Width:100,	SaveName:"org_nm",		Align:"Left", ColMerge:1},
					{Type:"Text",	Width:100,	SaveName:"emp_no",		Align:"Center", ColMerge:0},
					{Type:"Text",	Width:100,	SaveName:"emp_nm",		Align:"Center", ColMerge:0},
					{Type:"Text",	Width:100,	SaveName:"pos_nm",		Align:"Left", ColMerge:0},
					{Type:"Status",	Width:40,	SaveName:"pos_grd_nm",	Align:"Center", ColMerge:0}
					];
		mySheet.InitColumns(cols);
		
		
		//조회 건수 표시 위치
		mySheet.SetCountPosition(3);
		
		
		//컬럼 너비 자동 조정
		mySheet.FitColWidth();
		
		doAction('search');
	});
	
	/*Sheet 각종 처리*/
	function doAction(sAction) {
		switch(sAction) {
			case "search":		//조회
				mySheet.DoSearch("../data/merge_check_data.jsp");
				break;
			case "reload":
				mySheet.RemoveAll();
				break;
		}
	}


	function mySheet_OnChange(row,col,vv) { 
		
		//동일 영역 체크값 변경하기
		if(mySheet.ColSaveName(col)=="chk"){
			check_merge(mySheet,row,col,vv );
		}
	}

	/*--------------------------------------------------
	공통함수
	내용:기준컬럼이 머지된 영역을 동일하게 체크해 준다.
	param list
	param0 : 시트객체
	param1 : 현재 클릭한 행
	param2 : 체크박스가 있는 컬럼
	param3 : 체크 값
	--------------------------------------------------*/
	function check_merge(sheetobj,currow,checkcol,vv){

		var srow = currow;
		var erow = parseInt((sheetobj.GetMergedEndCell(currow,checkcol).split(","))[0]);
		
		for(var i=srow+1;i<=erow;i++){
				sheetobj.SetCellValue(i,checkcol,vv );	
		}	
	}

</script>
<title>머지 영역 예제</title>
</head>
<body>
<div id="main">
	<%@ include file="../../common/jsp/sheetNavi.jsp" %>	
	<div id="title">머지 영역 예제</div>
	<div id="desc">
		머지된 checkbox 컬럼 설정 예제.<br>
		상/하 로 머지된 체크박스 컬럼에 대해 체크하거나 언체크하는 경우 기본적으로는 머지된 셀 중 하나만 수정이 이루어 진다.<br>
		따라서 공통 로직을 통해 강제로 머지된 영역의 값을 전체적으로 수정해 주어야 한다.
		<br>
		<textarea readonly style="width:100%;height:250px">
/*--------------------------------------------------
공통함수
내용:기준컬럼이 머지된 영역을 동일하게 체크해 준다.
param list
param0 : 시트객체
param1 : 현재 클릭한 행
param2 : 체크박스가 있는 컬럼
param3 : 체크 값
--------------------------------------------------*/
function check_merge(sheetobj,currow,checkcol,vv){

  var srow = currow;
  var erow = parseInt((sheetobj.GetMergedEndCell(currow,checkcol).split(","))[0]);
  
  for(var i=srow+1;i<=erow;i++){
      sheetobj.SetCellValue(i,checkcol,vv );  
  } 
}
		</textarea>
		
	</div>

<!-- 	<div id="functionArea"> -->
<!-- 		<span> -->
<!-- 			<input type="button" value="전체머지없음" onclick="setMerge('msNone')"> -->
<!-- 			<input type="button" value="헤더만머지" onclick="setMerge('msHeaderOnly')"> -->
<!-- 			<input type="button" value="전체머지가능" onclick="setMerge('msAll')"> -->
<!-- 			<input type="button" value="앞컬럼기준머지" onclick="setMerge('msHeaderOnly + msPrevColumnMerge')"> -->
<!-- 		</span> -->
<!-- 	</div> -->
	
	<div id="viewArea">
	</div>
</div>
</body>
</html>